package com.tanhua.autoconfig.template;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.tanhua.autoconfig.properties.OssProperties;
import org.apache.http.client.utils.DateUtils;

import java.io.InputStream;
import java.util.Date;
import java.util.UUID;

public class OssTemplate {

    private OssProperties ossProperties;

    public OssTemplate(OssProperties ossProperties) {
        this.ossProperties = ossProperties;
    }

    public String upload(String fileName, InputStream is){

        // 获取文件的存储名称
        String filePath = DateUtils.formatDate(new Date(),"yyyy/MM/dd") + "/"
                + UUID.randomUUID()
                + fileName.substring(fileName.lastIndexOf("."));

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(ossProperties.getEndpoint(),
                ossProperties.getAccessKeyId(), ossProperties.getAccessKeySecret());

        // 依次填写Bucket名称（例如examplebucket）和Object完整路径（例如exampledir/exampleobject.txt）。Object完整路径中不能包含Bucket名称。
        ossClient.putObject(ossProperties.getBucketName(), filePath, is);

        // 关闭OSSClient。
        ossClient.shutdown();

        return ossProperties.getImgUrl() + filePath;
    }


}
